const express=require('express');
const tables=express.Router();
const axios = require("axios");
const qs=require("qs")
const jwt = require("jsonwebtoken")
// 用户管理
tables.get('/',(req, res)=>{
    res.render('admin/tables',({userInfo:jwt.decode(req.session.token)}))
});
// 查询所有面试者，用于渲染页面
tables.get('/findAllInterviews',(req, res)=>{
        axios({
            url:"http://1.117.92.175:8081/user/findAllInterviews",
            method:"GET",
            headers:{
                token:req.session.token?req.session.token:"",
            },
        })
        .then(data=>{
           res.send(data.data)
        })
        .catch(err=>{
            // res.send(err)
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
        })
})
// 
tables.post('/setPlaceAndTime',(req, res)=>{
    const {id,time,place}=req.query;
    if (id==undefined) {
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/user/setPlaceAndTime",
            method:"POST",
            params: {
                studentIds:id,
                time:time,
                place:place
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
        })
        .then(data=>{
            if (data.data==1) {
                res.send({err:0,data:data.data,msg:"初始化成功"})
            }
        })
        .catch(err=>{
            // res.send(err);
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
        })
    }
})
// 批量修改时间和地点
tables.post('/changeAll',(req, res)=>{
    const {state,time,place}=req.query;
    console.log(state,time,place);
    if (state==undefined) {
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/updateTimeAndPlace",
            method:"PUT",
            params: {
                place:place,
                state:state,
                time:time
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
        })
        .then(data=>{
            res.send({err:0,data:data.data,msg:"初始化成功"})
        })
        .catch(err=>{
            // res.send(err);
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
        })
    }
})
// 表格导出
tables.get('/exports',(req, res)=>{
    const {state}=req.query;
    if (state==undefined) {
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/user", 
            method:"GET",
            params: {
                state:state,
            },
            headers:{
                token:req.session.token?req.session.token:"",
                'Content-Type': 'application/vnd.ms-excel',
            },
            responseType: 'arraybuffer',
        })
        .then(data=>{
           res.send(data.data)
           console.log(data.data);
        })
        .catch(err=>{
            // res.send(err);
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
            console.log(err);
        })
    }
})
// 查询所有用户，用于分配任务
tables.get('/findAllUsers',(req, res)=>{
    axios({
        url:"http://1.117.92.175:8081/user/findAllInterviews",
        method:"GET",
        headers:{
            token:req.session.token?req.session.token:"",
        },
    })
    .then(data=>{
       res.send(data.data)
    })
    .catch(err=>{
        // res.send(err)
        return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
    })
})
// 设置面试官
tables.post('/changeInterviews',(req, res)=>{
    const {_id,interviews}=req.query;
    console.log(_id);
    console.log(interviews);
    if (_id==undefined) {
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/saveUsers",
            method:"PUT",
            params: {
               id:_id,
               user:interviews
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
        })
        .then(data=>{
            res.send({err:0,data:data.data,msg:"初始化成功"})
        })
        .catch(err=>{
            // res.send(err);
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
        })
    }
})
module.exports=tables;